import request, { createPageRequest } from '../request'
import type { IFileUploadParams, IFileInfo } from '@/types/file'
import type { IPageParams } from '@/types/api'

// 定义文件查询参数接口
interface IFileQueryParams {
  fileName?: string
  status?: number
  startTime?: string
  endTime?: string
}

export const fileApi = {
  // 文件上传
  upload: (data: IFileUploadParams) => {
    return request({
      url: '/file/upload',
      method: 'post',
      headers: {
        'Content-Type': 'multipart/form-data'
      },
      data
    })
  },
  
  // 获取文件列表 - 使用分页查询，支持额外查询参数
  getFileList: createPageRequest<IFileInfo, IFileQueryParams>('/file/list')
}

// 使用示例：
// const result = await fileApi.getFileList({ page: 0, size: 10 })
// console.log(result.data.content) // 文件列表
// console.log(result.data.pageable) // 分页信息 